﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Text;
using System.Windows.Forms;
using Entities;
using BusinessLogicLayer;

namespace QLNhaSach.Modules
{
    public partial class TheLoaiTacGia : UserControl
    {
        DataTable tableTheLoai = new DataTable();
        DataTable tableTacGia = new DataTable();
        public TheLoaiTacGia()
        {
            InitializeComponent();
            InitTacGia();
            InitTheLoai();
        }
        public void InitTheLoai(){
            tableTheLoai.Columns.Add("STT");
            tableTheLoai.Columns.Add("Mã thể loại");
            tableTheLoai.Columns.Add("Tên thể loại");
            TheLoaiBO tlbo = new TheLoaiBO();
            DataTable dt = tlbo.GetDanhSachTheLoai();
            int i = 1;
            foreach (DataRow dr in dt.Rows)
            {
                TheLoai tl = new TheLoai();

                tableTheLoai.Rows.Add(i++, dr["TL_MATHELOAI"].ToString(), dr["TL_TENTHELOAI"].ToString());
            }
            gridControl1.DataSource = tableTheLoai;
            gridView1.Columns["Mã thể loại"].Visible = false;
        }
        public void InitTacGia()
        {
            tableTacGia.Columns.Add("STT");
            tableTacGia.Columns.Add("Mã tác giả");
            tableTacGia.Columns.Add("Tên tác giả");
            TacGiaBO tgbo = new TacGiaBO();
            DataTable dt = tgbo.GetDanhSachTacGia();
            int i = 1;
            foreach (DataRow dr in dt.Rows)
            {
                TheLoai tl = new TheLoai();

                tableTacGia.Rows.Add(i++, dr["TG_MATACGIA"].ToString(), dr["TG_TENTACGIA"].ToString());
            }
            gridControl2.DataSource = tableTacGia;
            gridView2.Columns["Mã tác giả"].Visible = false;
        }
        private void simpleButton7_Click(object sender, EventArgs e)
        {
            Environment.Exit(1);
        }

        private void simpleButton8_Click(object sender, EventArgs e)
        {
            Environment.Exit(1);
        }

        private void gridView1_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
        {
            DataRow cell = gridView1.GetDataRow(gridView1.FocusedRowHandle);
            if (cell != null)
            {
                String value = cell[1].ToString();

                TheLoai tl = new TheLoai();
                TheLoaiBO tlbo = new TheLoaiBO();
                tl = tlbo.GetTheLoaiByID(int.Parse(value));
                textEdit1.Text = tl.TenTheLoai;
            }
        }

        private void gridView2_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
        {
            DataRow cell = gridView2.GetDataRow(gridView2.FocusedRowHandle);
            if (cell != null)
            {
                String value = cell[1].ToString();

                TacGia tg = new TacGia();
                TacGiaBO tgbo = new TacGiaBO();
                tg = tgbo.GetTacGiaByID(int.Parse(value));
                textEdit2.Text = tg.TenTacGia;
            }
        }

        private void simpleButton1_Click(object sender, EventArgs e)
        {
            string tenTheLoai = textEdit1.Text;
            if (tenTheLoai == "")
            {
                MessageBox.Show("Tên thể loại không được để trống.");
                return;
            }
            TheLoai tl= new TheLoai();
            tl.TenTheLoai = tenTheLoai;
            TheLoaiBO tlbo = new TheLoaiBO();
            int kq = tlbo.InsertTheLoai(tl);
            if (kq == 1)
            {
                MessageBox.Show("Thêm thể loại thành công.");
                gridControl1.DataSource = null;
                DataTable tldt= new DataTable();
                tldt.Columns.Add("STT");
                tldt.Columns.Add("Mã thể loại");
                tldt.Columns.Add("Tên thể loại");
                DataTable ds = tlbo.GetDanhSachTheLoai();
                int i = 1;
                foreach (DataRow dr in ds.Rows)
                {
                    tldt.Rows.Add(i++, dr["TL_MATHELOAI"].ToString(), dr["TL_TENTHELOAI"].ToString());
                }
                gridControl1.DataSource = tldt;
            }

        }

        private void simpleButton4_Click(object sender, EventArgs e)
        {
            string tenTacGia = textEdit2.Text;
            if (tenTacGia=="")
            {
                MessageBox.Show("Tên tác giả không được để trống.");
                return;
            }
            TacGia tg = new TacGia();
            tg.TenTacGia = tenTacGia;
            TacGiaBO tgbo = new TacGiaBO();
            int kq = tgbo.InsertTacGia(tg);
            if (kq == 1)
            {
                MessageBox.Show("Thêm tác giả thành công.");
                gridControl2.DataSource = null;
                DataTable tgdt = new DataTable();
                tgdt.Columns.Add("STT");
                tgdt.Columns.Add("Mã tác giả");
                tgdt.Columns.Add("Tên tác giả");
                DataTable ds = tgbo.GetDanhSachTacGia();
                int i = 1;
                foreach (DataRow dr in ds.Rows)
                {
                    tgdt.Rows.Add(i++, dr["TG_MATACGIA"].ToString(), dr["TG_TENTACGIA"].ToString());
                }
                gridControl2.DataSource = tgdt;
            }
        }

        private void simpleButton3_Click(object sender, EventArgs e)
        {
            DataRow cell = gridView1.GetDataRow(gridView1.FocusedRowHandle);
            if (cell != null)
            {
                string maTheLoai = cell[1].ToString();
                string tenTheLoai = textEdit1.Text;
                if (tenTheLoai =="")
                {
                    MessageBox.Show("Tên thể loại không được để trống.");
                    return;
                }
                TheLoai tl = new TheLoai();
                tl.MaTheLoai = int.Parse(maTheLoai.ToString());
                tl.TenTheLoai = tenTheLoai;
                TheLoaiBO tlbo = new TheLoaiBO();
                int kq = tlbo.UpdateTheLoai(tl);
                if (kq == 1)
                {
                    MessageBox.Show("Cập nhật thể loại thành công.");
                    gridControl1.DataSource = null;
                    DataTable tldt = new DataTable();
                    tldt.Columns.Add("STT");
                    tldt.Columns.Add("Mã thể loại");
                    tldt.Columns.Add("Tên thể loại");
                    DataTable ds = tlbo.GetDanhSachTheLoai();
                    int i = 1;
                    foreach (DataRow dr in ds.Rows)
                    {
                        tldt.Rows.Add(i++, dr["TL_MATHELOAI"].ToString(), dr["TL_TENTHELOAI"].ToString());
                    }
                    gridControl1.DataSource = tldt;
                }
            }
        }

        private void simpleButton5_Click(object sender, EventArgs e)
        {
            DataRow cell = gridView2.GetDataRow(gridView2.FocusedRowHandle);
            if (cell != null)
            {
                string maTacGia = cell[1].ToString();
                string tenTacGia = textEdit2.Text;
                if (tenTacGia == "")
                {
                    MessageBox.Show("Tên tác giả không được để trống.");
                    return;
                }
                TacGia tg = new TacGia();
                tg.MaTacGia = int.Parse(maTacGia.ToString());
                tg.TenTacGia = tenTacGia;
                TacGiaBO tgbo = new TacGiaBO();
                int kq = tgbo.UpdateTacGia(tg);
                if (kq == 1)
                {
                    MessageBox.Show("Cập nhật tác giả thành công.");
                    gridControl2.DataSource = null;
                    DataTable tgdt = new DataTable();
                    tgdt.Columns.Add("STT");
                    tgdt.Columns.Add("Mã tác giả");
                    tgdt.Columns.Add("Tên tác giả");
                    DataTable ds = tgbo.GetDanhSachTacGia();
                    int i = 1;
                    foreach (DataRow dr in ds.Rows)
                    {
                        tgdt.Rows.Add(i++, dr["TG_MATACGIA"].ToString(), dr["TG_TENTACGIA"].ToString());
                    }
                    gridControl2.DataSource = tgdt;
                }
            }
        }

        private void simpleButton2_Click(object sender, EventArgs e)
        {
            DataRow cell = gridView1.GetDataRow(gridView1.FocusedRowHandle);
            if (cell != null)
            {
                string maTheLoai = cell[1].ToString();
                TheLoai tl = new TheLoai();
                TheLoaiBO tlbo = new TheLoaiBO();
                int kq = tlbo.DeleteTheLoai(maTheLoai);
                if (kq == 1)
                {
                    MessageBox.Show("Xoá thể loại thành công.");
                    gridControl1.DataSource = null;
                    DataTable tldt = new DataTable();
                    tldt.Columns.Add("STT");
                    tldt.Columns.Add("Mã thể loại");
                    tldt.Columns.Add("Tên thể loại");
                    DataTable ds = tlbo.GetDanhSachTheLoai();
                    int i = 1;
                    foreach (DataRow dr in ds.Rows)
                    {
                        tldt.Rows.Add(i++, dr["TL_MATHELOAI"].ToString(), dr["TL_TENTHELOAI"].ToString());
                    }
                    gridControl1.DataSource = tldt;
                }else{
                    MessageBox.Show("Không thể xoá do tồn tại khoá ngoại");
                }
            }
        }

        private void simpleButton6_Click(object sender, EventArgs e)
        {
            DataRow cell = gridView2.GetDataRow(gridView2.FocusedRowHandle);
            if (cell != null)
            {
                string maTacGia = cell[1].ToString();
                TacGia tl = new TacGia();
                TacGiaBO tgbo = new TacGiaBO();
                int kq = tgbo.DeleteTacGia(maTacGia);
                if (kq == 1)
                {
                    MessageBox.Show("Xoá tác giả thành công.");
                    gridControl2.DataSource = null;
                    DataTable tgdt = new DataTable();
                    tgdt.Columns.Add("STT");
                    tgdt.Columns.Add("Mã tác giả");
                    tgdt.Columns.Add("Tên tác giả");
                    DataTable ds = tgbo.GetDanhSachTacGia();
                    int i = 1;
                    foreach (DataRow dr in ds.Rows)
                    {
                        tgdt.Rows.Add(i++, dr["TG_MATACGIA"].ToString(), dr["TG_TENTACGIA"].ToString());
                    }
                    gridControl2.DataSource = tgdt;
                }
                else
                {
                    MessageBox.Show("Không thể xoá do tồn tại khoá ngoại");
                }
            }
        }
    }
}
